package cn.b.sky.mes.em.dao;

import java.util.List;

import cn.b.sky.mes.em.model.MaintainStrategy;
import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.em.model.condition.MaintainStrategyCondition;

/**
 * 
 * <strong>Title : MaintainStrategyDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.dao<br></strong>
 * <strong>Description : </strong>保养策略数据接口<br> 
 * <strong>Create on : 2015-11-4 下午03:10:39<br></strong>
 * <p>
 * @author zhaoxin01<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface MaintainStrategyDao {
  /**
   * 
   * <strong>Title : selectMaintainStrategyByCondition<br></strong>
   * <strong>Description : </strong>分页查询保养策略<br> 
   * <strong>Create on : 2015-11-4 下午02:10:32<br></strong>
   * <p>
   * @param maintainStrategyCondition
   * @return
   * List<MaintainStrategy>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<MaintainStrategy> selectMaintainStrategyByCondition(MaintainStrategyCondition maintainStrategyCondition);

  /**
   * 
   * <strong>Title : selectMaintainStrategyCount<br></strong>
   * <strong>Description : </strong>查询保养策略条数<br> 
   * <strong>Create on : 2015-11-4 下午02:10:47<br></strong>
   * <p>
   * @param maintainStrategyCondition
   * @return
   * int
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectMaintainStrategyCount(MaintainStrategyCondition maintainStrategyCondition);

  /**
   * 
   * <strong>Title : selectMaintainStrategyByCode<br></strong>
   * <strong>Description : </strong>根据编码查询保养策略<br> 
   * <strong>Create on : 2015-11-4 下午02:11:06<br></strong>
   * <p>
   * @param siteCode
   * @param strategyCode
   * @return
   * MaintainStrategy
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  MaintainStrategy selectMaintainStrategyByCode(@Param("siteCode") String siteCode,
      @Param("strategyCode") String strategyCode);

  /**
   * 
   * <strong>Title : insertMaintainStrategy<br></strong>
   * <strong>Description : </strong>新增保养策略<br> 
   * <strong>Create on : 2015-11-4 下午02:12:07<br></strong>
   * <p>
   * @param maintainStrategy
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertMaintainStrategy(MaintainStrategy maintainStrategy);

  /**
   * 
   * <strong>Title : updateMaintainStrategy<br></strong>
   * <strong>Description : </strong>@方法注释说明写在此处@<br> 
   * <strong>Create on : 2015-11-4 下午02:12:23<br></strong>
   * <p>
   * @param maintainStrategy
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateMaintainStrategy(MaintainStrategy maintainStrategy);

  /**
   * 
   * <strong>Title : deleteMaintainStrategy<br></strong>
   * <strong>Description : </strong>删除保养策略<br> 
   * <strong>Create on : 2015-11-4 下午02:12:37<br></strong>
   * <p>
   * @param siteCode
   * @param strategyCode
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteMaintainStrategy(@Param("siteCode") String siteCode, @Param("strategyCode") String strategyCode);

  /**
   * 
   * <strong>Title : selectMaintainStrategyForSuggest<br></strong>
   * <strong>Description : </strong>保养策略搜索建议<br> 
   * <strong>Create on : 2016年4月11日 下午7:48:08<br></strong>
   * <p>
   * @param maintainStrategyCondition
   * @return
   * List<MaintainStrategy>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<MaintainStrategy> selectMaintainStrategyForSuggest(MaintainStrategyCondition maintainStrategyCondition);
}
